In controlling an arm of a robot or the like, a servomotor for driving the arm is controlled by controlling its position through position and speed control loops. If the servomotor is controlled in the control system of this type, the driven body, such as the robot arm, moving toward a position specified by a position command continues to move directly toward the target position without avoiding an obstacle, if any, in its course. For another example, when mounting a workpiece on a machine tool using an arm of a robot, if the accuracy of the workpiece is not good enough, there will be some disagreement between the actual position of the workpiece and the commanded position, and the workpiece cannot be mounted on the machine tool. In such a case, moreover, it is difficult to move the workpiece to a mounting position of the machine tool by manually moving the robot arm.
There is proposed a flexible servocontrol method for solving these problems, in which a driven body can be manually moved to avoid an obstacle. FIG. 5 is a block diagram of a servo system used in the conventional flexible servocontrol method. Referring to FIG. 5, flexible servocontrol is effected in a manner such that a position gain Kp and a proportional gain K2 of a speed control loop are lowered in accordance with a set degree of flexibility, and the output of an integrator of the speed control loop is limited to a set clamp value. Thereupon, a torque command will not command an extremely large value even though the positional deviation increases, so that the driven body, which is driven by the servomotor, can be moved manually.
According to the conventional flexible servocontrol method described above, however, the specification of the degree of flexibility is for the servo system incorporated in each of axes (three axes and those around them) of the motor of the robot for driving the driven body, such as the robot arm, and is not on the working coordinates for actually driving the robot arm or other driven body. Thus, in specifying the degree of flexibility of the driven body, such as the robot arm, by the conventional flexible servocontrol method, it is necessary to reduce the position gain and the proportional gain of the speed control loop in accordance with the set degree of flexibility, with respect to the servo system incorporated in each axis of the motor for driving the driven body, while estimating the state of movement of the driven body on the working coordinates, e.g., x, y and z coordinates, for normal operation.
Since the operation for each axis relates to the operations for other axes, actually it is difficult to set the degree of flexibility on the working coordinates by adjusting the flexibility of the servo system incorporated in each axis of the motor.